package com.ytjj.qmyx.admin.model.request.channel;

import com.ytjj.qmyx.admin.model.response.goods.ProductImgResponse;
import com.ytjj.qmyx.admin.model.response.goods.ProductSkuKeyResponse;
import com.ytjj.qmyx.admin.model.response.goods.ProductSpecResponse;
import com.ytjj.qmyx.admin.model.response.goods.ProductSpecTwoResponse;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

/**
 *
 *  *
 **/
@Data
public class ChannelGoodsRequest {

    @NotNull(message = "商品ID 不能为空！")
    @ApiModelProperty("商品Id")
    private Integer id;

    @NotBlank(message = "商品名称不能为空")
    @ApiModelProperty("商品名称")
    private String productName;

    @NotBlank(message = "商品主图不能为空")
    @ApiModelProperty("商品主图")
    private String productImg;

    @ApiModelProperty("场景图")
    private String sceneImg;

    @ApiModelProperty("专区ID")
    private Integer specialId;

    @ApiModelProperty("一级分类ID")
    private Integer topCategoryId;

    @ApiModelProperty("二级分类ID")
    private Integer categoryId;

    @ApiModelProperty("三级分类ID")
    private Integer bottomCategoryId;

    @ApiModelProperty("商品介绍")
    private String descr;

//    @NotNull(message = "市场价（划线价）不能为空")
    @ApiModelProperty("市场价（划线价）")
    private BigDecimal originalPrice;


    @ApiModelProperty("直接购买价")
    private BigDecimal curPrice;

    @NotNull(message = "售价不能为空")
    @ApiModelProperty("售价")
    private BigDecimal price;

    @ApiModelProperty("长标题")
    private String longTitle;

    @ApiModelProperty("推荐文案")
    private String recommendDoc;

    @ApiModelProperty("推荐描述")
    private String recDescr;

    @ApiModelProperty("点击量")
    private Integer pv;

    @ApiModelProperty("评价总数")
    private Integer commentSum;

    @ApiModelProperty("好评率")
    private Integer goodRatio;

    @ApiModelProperty("销量字段")
    private String volumeStr;

    @ApiModelProperty("销量")
    private Integer volume;

    @ApiModelProperty("费率")
    private BigDecimal rate;

    @ApiModelProperty("是否广告")
    private Integer isAdvert;

    @ApiModelProperty("是否隐藏")
    private Integer isHide;

    @ApiModelProperty("排序")
    private Integer sort;

    @ApiModelProperty("毛利率")
    private BigDecimal grossProfit;

    @ApiModelProperty("所属平台(平台数据)")
    private String platformData;

    @ApiModelProperty(value = "库存预警")
    private Integer stockWarning;

    @ApiModelProperty(value = "0元测评商品")
    private Integer isZeroProduct;

    @ApiModelProperty(value = "官网栏目id")
    private Integer bankerColumnId;

    @ApiModelProperty("商品视频")
    private String productVideo;

    @ApiModelProperty("商品视频")
    private String productVideoCover;

    @ApiModelProperty("商品品牌")
    private String brand;

    @ApiModelProperty("商品品牌id")
    private Integer brandId;

    @ApiModelProperty("助力人数")
    private Integer helpNum;


    @ApiModelProperty(value = "sku")
    private List<ProductSkuKeyResponse> skuKey;

    @NotEmpty(message = "轮播图不能为空")
    @ApiModelProperty(value = "轮播图")
    private List<ProductImgResponse> bannerList;

    @NotEmpty(message = "详情图不能为空")
    @ApiModelProperty(value = "详情图")
    private List<ProductImgResponse> infoList;

    @NotEmpty(message = "规格不能为空")
    @ApiModelProperty(value = "规格")
    private List<ProductSpecResponse> spec;

    @ApiModelProperty(value = "活动类型")
    private String activityType;

    @ApiModelProperty(value = "产品类型")
    private Integer productType;

    private String attributeJson;

    private Integer stock;

    private Integer groupId;

    private BigDecimal groupPrice;

    /**
     * 供应商品牌id
     */
    private Integer bankerBrandId;

    private BigDecimal salePrice;
    private Integer bankerId;

    /**
     * 活动主图
     */
    private String activityMainImg;


    @ApiModelProperty(value = "规格")
    private List<ProductSpecTwoResponse> specTwo;

    private Integer addressId;//退货地址id

    /**
     * 所属测评类型
     * 1-普通 2-专享
     */
    private Integer appraisalType;

    /**
     * 商品类型 1国内 2国外
     */
    private Integer isExit;

    /**
     * 邮寄类型（mailType）：一般贸易，直邮，保税
     */
    private String mailType;

    /**
     * 邮寄备注：mailNote
     */
    private String mailNote;

    /**
     * 是否控价 0-否 1-是
     */
    private String controlPrice;

    /**
     * 成本价
     */
    private BigDecimal costPrice;

    /**
     * 虚拟库存( h5销售渠道使用)
     * @return
     */
    private Integer virtualStock;

    /**
     * 商品详情图片
     */
    private String infoImg;

    /**
     * 运费模板id
     */
    private Integer freightId;

    /**
     * 使用模板类型：1-销售渠道模板,2-供应链模板
     */
    private Integer useType;

    /**
     * 供应商商品id
     */
    private Integer supplyProductId;
    /**
     * 是否同步到选定的渠道 1-不同步（仅修改当前商品）,2-同步（同步到选定的渠道）,3-同步部分属性（仅同步部分内容到选定的渠道）
     */
    private Integer isSync;
    /**
     * 所属店铺编号
     */
    private String shopId;

    /**
     * 销售渠道地区
     */
    private List<String> provinceCodes;


}
